The emergence and development of computer networks and protocols, including the World Wide Web (or simply “the web”), now allows many remote users to communicate with one another. Different types of communication tools have been developed for the web which allow users to communicate in different ways through a browser. One popular type of communication tool is chat (also called instant messaging or IM). Chat allows users to communicate over the web in real time. A user uses a client program (called a chat client) that communicates with a chat service over the web. The chat client has a graphical user interface (GUI) that allows a user to input text and view text.
Chat communication generally involves typing text. For example, two users chatting may type lines of text in each of their chat client programs. The chat service passes the typed text between the chat clients. The lines of text may resemble a conversation in that successive lines of text are displayed in a temporal sequence along with an indication of the user who typed the text. Often this indication of the user is a display of the user's screen name (also called a chat address). Chat clients have historically had simple GUIs with rectangular window displays in which the text of a chat is made to scroll as the conversation proceeds.
Different chat services and chat client programs have different features relating to the chat experience. For example, chat services often provide presence information that indicates whether people on a user's list of contacts are currently online and available to chat. Some chat services also allow a user to set an “online status” or “away message” so that other users are aware of the user's availability to chat. Finally, users can often personalize their profiles to change graphical features associated with their chat. For instance, a user often has a screen name which is displayed to another to identify himself or herself when he or she is chatting. The screen name itself may be selected by the user (or assigned by the chat service). A user may also choose different font colors, font styles, symbols, or personalized images to be displayed along with his or her screen name. An example IM service includes the Google Talk service from Google, Inc. of Mountain View, Calif.
In existing chat services, a user often will not receive messages that are received at a chat server when he or she is offline. In such a case, the user that transmitted the message may get a response indicating that the intended recipient is offline and will not receive the transmitted message. For the intended recipient, then, to receive the contents of the message, the transmitting user may have to use another means of transmitting (e.g., email). Such a process of retransmitting the contents using other transmitting means can be cumbersome and inefficient. For example, a user may have to switch from a chat application to an email application and enter content into the email application that was previously entered into the chat application.